package com.yzt.zhuju.utils;

import android.text.TextUtils;

import java.util.regex.Pattern;

/**
 * author : bob
 * date   : 2022/12/6
 * desc   : 正则表达工具类
 */
public class RegexUtils {

    /**
     * 判断是否匹配正则
     *
     * @param regex 正则表达式
     * @param input 要匹配的字符串
     * @return {@code true}: 匹配<br>{@code false}: 不匹配
     */
    public static boolean isMatch(final String regex, final CharSequence input) {
        return input != null && input.length() > 0 && Pattern.matches(regex, input);
    }

    private static final String REGEX_PASSWORD = "^(?=.*\\d)(?=.*[a-zA-Z])[\\d\\Wa-zA-Z_]{6,20}$";

    /**
     * 检查密码是否合法：6-20位，至少存在英文和数字
     *
     * @param password 密码
     * @return 是否符合规则
     */
    public static boolean checkPassword(String password) {
        if (TextUtils.isEmpty(password)) {
            return false;
        }
        Pattern pattern = Pattern.compile(REGEX_PASSWORD);
        return pattern.matcher(password).matches();
    }

}
